Carbon Forum » 搜索 » user:lincanbin post:true

站长们要为IPv6普及可能带来的数据库储存问题做好准备。

<?php echo ip2long('192.168.1.1');  ?>

Result:

-1062731519

在这里IPv4也已经超越了signed long int的上限,溢出了。

所以用长整形处理IPv6实际上也并不理想。

IPv6 MySQL 网站 IP lincanbin •  2015-04-11 • 最后回复来自 lincanbin
3

站长们要为IPv6普及可能带来的数据库储存问题做好准备。

<?php printf("%u\n", ip2long('255.255.255.255'));  ?>

Result:

4294967295

目前大部分人储存IPv4应该还是用的unsigned int(10),范围也是0到4294967295。

IPv6 MySQL 网站 IP lincanbin •  2015-04-11 • 最后回复来自 lincanbin
3

站长们要为IPv6普及可能带来的数据库储存问题做好准备。

像我不需要做范围查询,只是做个记录,用一个足够大的字符串字段来储存IPv6就是一个最简单的解决方案。

或者将IPv6也转换为整数,不过MySQL中的unsigned bigint也只有64位,最大也就是18446744073709551615,比起IPv6的128位还是差了许多,如果硬要这么做也可以开两个bigint储存然后联合索引。

或者用b

IPv6 MySQL 网站 IP lincanbin •  2015-04-11 • 最后回复来自 lincanbin
3

站长们要为IPv6普及可能带来的数据库储存问题做好准备。

有不少人喜欢把IP v4转换成整数,然后用一个unsigned int(10)来储存用户IP,这个方法可能会在IP v6普及后导致用户访问异常。

站长们最好先做好准备。

IPv6 MySQL 网站 IP lincanbin •  2015-04-11 • 最后回复来自 lincanbin
3

DigitalOcean 旧金山机房(SFO1)也支持IPv6了

http://www.94cb.com/t/2447

设置过后

用VPS翻墙,可以看到自己IP已经改变

DigitalOcean IPv6 VPS 旧金山 lincanbin •  2015-04-11 • 最后回复来自 lincanbin
1

WDCP升级Nginx到Nginx 1.7.9,并开启ipv6支持

然后IPv6域名是添加AAAA记录

http://www.94cb.com/t/2447

IPv6 Nginx WDCP lincanbin •  2015-04-11 • 最后回复来自 lincanbin
5

为网站添加IPv6支持

重新编译,IPv6开启

http://www.94cb.com/t/2448

IPv6 VPS 网站 lincanbin •  2015-04-11 • 最后回复来自 lincanbin
7

WDCP升级Nginx到Nginx 1.7.9,并开启ipv6支持

要开启IPV6访问,还需要在 Nginx 各个Vhost设定文件,在 server_name 上面添加一行:

listen [::]:80;

最后重载设置生效:

service nginxd reload

IPv6 Nginx WDCP lincanbin •  2015-04-11 • 最后回复来自 lincanbin
5

WDCP升级Nginx到Nginx 1.7.9,并开启ipv6支持

测试IPV6模块是否成功编译并安装:

/www/wdlinux/nginx-1.7.9/sbin/nginx -V

成功

IPv6 Nginx WDCP lincanbin •  2015-04-11 • 最后回复来自 lincanbin
5

WDCP升级Nginx到Nginx 1.7.9,并开启ipv6支持

升级成功截图

IPv6 Nginx WDCP lincanbin •  2015-04-11 • 最后回复来自 lincanbin
5

WDCP升级Nginx到Nginx 1.7.9,并开启ipv6支持

nginx_upgrade.zip

IPv6 Nginx WDCP lincanbin •  2015-04-11 • 最后回复来自 lincanbin
5

WDCP升级Nginx到Nginx 1.7.9,并开启ipv6支持

#!/bin/bash # nginx update scripts # url http://www.wdlinux.cn # author wdlinux if [ ! $1 ];then ver="1.7.9" else ver=$1 fi cd /tmp wget http://down.wdlinux.cn/in/pcre_ins.sh sh pc
IPv6 Nginx WDCP lincanbin •  2015-04-11 • 最后回复来自 lincanbin
5

WDCP升级Nginx为Nginx 1.6 的脚本

也可以这样手动一步步升级,先设置编译参数。

./configure --user=www --group=www --prefix=/www/wdlinux/nginx-$ver --with-http_stub_status_module --with-http_ssl_module --with-ipv6

重新编译,make 不要

CentOS VPS WDCP Nginx lincanbin •  2015-04-11 • 最后回复来自 lincanbin
2

WDCP升级Nginx为Nginx 1.6 的脚本

编译时添加

 --with-ipv6

启用IPv6,留在这里当个备忘,国内教育网是支持IPv6的。

CentOS VPS WDCP Nginx lincanbin •  2015-04-11 • 最后回复来自 lincanbin
2

为网站添加IPv6支持

刚睡醒才发现我的Nginx当时编译的时候没选IPv6,现在得重新编译了。

IPv6 VPS 网站 lincanbin •  2015-04-11 • 最后回复来自 lincanbin
7

请问,现在不可以搜索和用 QQ 登录吗?

回复#2 @wfsdaj :编辑器里最大的都是表情。

QQ 搜索 登录 lincanbin •  2015-04-10 • 最后回复来自 lincanbin
5

为网站添加IPv6支持

service network restart

或者重启VPS

IPv6 VPS 网站 lincanbin •  2015-04-10 • 最后回复来自 lincanbin
7

为网站添加IPv6支持

vi /etc/sysconfig/network

添加

NETWORKING_IPV6=yes

IPv6 VPS 网站 lincanbin •  2015-04-10 • 最后回复来自 lincanbin
7

为网站添加IPv6支持

vi /etc/sysconfig/network-scripts/ifcfg-eth0

添加

IPV6INIT=yes IPV6ADDR=2604:a880:1:20::176:c000/64 IPV6_DEFAULTGW=2604:a880:1:20::1 IPV6_AUTOCONF=no

IPv6 VPS 网站 lincanbin •  2015-04-10 • 最后回复来自 lincanbin
7

为网站添加IPv6支持

我的是CentOS6

ip -6 addr add 2604:a880:1:20::176:c001/64 dev eth0 ip -6 route add default via 2604:a880:1:20::1 dev eth0 vi /etc/sysconfig/network-scripts/ifcfg-eth0

按需设置

IPv6 VPS 网站 lincanbin •  2015-04-10 • 最后回复来自 lincanbin
7
登 录
信息栏

Carbon Forum是一个基于话题的高性能轻型PHP论坛

下载地址:Carbon Forum v5.9.0
QQ群:12607708(QQ我不常上)

donate

手机支付宝扫描上方二维码可向本项目捐款

粤公网安备 44030602003677号
粤ICP备17135490号